using System.Collections.Generic;
using System.Reflection;
namespace NFit.Core.Interfaces
{
    /// <summary>
    /// Service contract for NFit configuration
    /// </summary>
    public interface INFitConfigurator
    {
        /// <summary>
        /// Get an enumeration of data sources
        /// </summary>
        /// <returns></returns>
        IEnumerable<ISpecificationDataSource> GetDatasources();

        /// <summary>
        /// Get an enumeration of assemblies containing fixtures
        /// </summary>
        /// <returns></returns>
        IEnumerable<Assembly> GetFixtureAssemblies();

        /// <summary>
        /// Get the report writer
        /// </summary>
        /// <returns></returns>
        IEnumerable<IReportWriter> GetWriters();
    }
}